/**********************  角色管理  *****************************/

	var _common = xbdunRequire("common");
	var _targeTable = null;//机构角色表
	var roleInfo = null;//选择的角色
	
	$(function() {
		/*****************************   初始化机构的角色表   ******************************/
		setTimeout(function(){_targeTable = new TableInit($('#tb_role_info'))},1000);
		
		/************************   新增机构角色    ***************************/
		$("#btn_100101101100").on("click",function(){
			$('#frm_addOrModify').get(0).reset();
			$("#addOrModify_title").text("新增角色");
			$("#addOrModify_type").val("add");
			$("#bs-addOrModify-modal-lg").modal("show");
		})
		
		/************************   修改机构角色    ***************************/
		$("#btn_100101101101").on("click",function(){
			var _selectOtpns = _targeTable.getSelections();
			if(_selectOtpns&&_selectOtpns.length==1){
				$('#frm_addOrModify').get(0).reset();
				$("#addOrModify_title").text("修改"+roleInfo.roleName);
				$("#addOrModify_type").val("modify");
				$("#bs-addOrModify-modal-lg").modal("show");
			}else{
				_common.alert(true,"请选择一项进行操作.");
			}
		})
		
		/************************   提交新增或者修改机构角色    ***************************/
		$("#addOrModify_save").on("click",function(){
			var temp = {
				id:function(){if(roleInfo){return roleInfo.id}else{return 0}},//角色id
				roleName:$("#txt_roleName").val(),
				roleShort:$("#txt_roleShort").val()
			};
			if (!temp.roleName.trim() || !temp.roleShort.trim()) {
				return _common.alert(true,"请填写完整角色信息.");
			}
			$("#bs-addOrModify-modal-lg").modal("hide");
			if ($("#addOrModify_type").val()=="add"){
				submitData("100101101100", temp, {success:function(){_targeTable.refresh();}});
			}else{
				submitData("100101101101", temp, {success:function(){_targeTable.refresh();}});
			}
		})

		/************************   删除机构角色    ***************************/
		$("#btn_100101101102").on("click",function(){
			var _selectOtpns = _targeTable.getSelections();
			if(_selectOtpns&&_selectOtpns.length==1){
				_common.alert(true,"确定要删除"+roleInfo.roleName+"这个角色吗?",function(v){if(v==1){
					var temp = {id:roleInfo.id};
					submitData("100101101102", temp, {success:function(){_targeTable.refresh();}});
				}},2)
			}else{
				_common.alert(true,"请选择需要删除的角色.");
			}
		})
	});
	
	/**************************** 当前机构的角色列表 ****************************/ 
	var TableInit = function(targeTbArg) {
		var oTableInit = new Object();
		// 得到查询的参数
		oTableInit.queryParams = function(params) {
			var temp = {
				pageSize: params.pageSize, 		//页面大小
				pageIndex : params.pageIndex, 	//页码
			};
			return temp;
		};
		// 初始化Table
		oTableInit.Init = function() {
			return targeTbArg.bootstrapTable("destroy").bootstrapTable({
				url : webRoot+'/system/100101101103', // 请求后台的URL（*）
				queryParams : oTableInit.queryParams,// 传递参数（*）
				uniqueId : "id", // 每一行的唯一标识，一般为主键列
				onCheck:onCheckRole,//勾选事件
				onLoadSuccess:function(d){
					if(d.success){
						if (d.data.data.length) {
							return _targeTable.resetView({height:($('#ifrmContent', parent.document).height()-140)})
						}
					}
					_targeTable.resetView({height:($('#ifrmContent', parent.document).height()-90)})
				},
				height:($('#ifrmContent', parent.document).height()-90),
//				pageSize: Math.floor(($('#ifrmContent', parent.document).height()-248)/35),
				columns : [{
					field : 'checked',
		            checkbox : true,
				},{
					field : 'roleName',
					title : '角色名称',
				},{
					field : 'roleShort',
					title : '角色缩写',
				},{
					field : 'optionUser',
					title : '创建人'
				},{
					field:"createTime",
					title:"创建时间",
					formatter:function(v){
						 if(v){return v.substring(0,10);}
					}
				}
				]
			});
		};
		//设置获取选择行
		oTableInit.getSelections = function(){return targeTbArg.bootstrapTable('getSelections');}
		//设置获取所有数据
		oTableInit.getData = function(){return targeTbArg.bootstrapTable('getData');}
		//重新设置视图
		oTableInit.resetView = function(height){return targeTbArg.bootstrapTable('resetView',height);}
		//刷新列表
		oTableInit.refresh = function(){return targeTbArg.bootstrapTable('refresh');}
		oTableInit.Init();
		return oTableInit;
	}
	
	/*********************
	 * 	调用ajax
	 * 
	 * @param url		地址
	 * @param temp		上传参数
	 * @param fnSubmit	回调函数 {success:fn,fail:fn,init:,complete}
	 * @returns
	 */
	function submitData(url, temp, fnSubmit){
		if (fnSubmit.init) {
			fnSubmit.init();
		}
		$.ajax({
			type:"post",
			url:webRoot+"/system/"+url,
			data:temp,
			async:false,
			success : function(data) {
				if (data) {
					if (data.success) {
						setTimeout(function(){if(fnSubmit.success){fnSubmit.success(data)}},500);
					} else {
						_common.loading(false);
						setTimeout(function(){if(fnSubmit.fail){fnSubmit.fail(data)};_common.alert(true,data.subMsg);},500);
					}
				}
			},
			complete:function (){
					_common.loading(false);
					if (fnSubmit.complete){
						fnSubmit.complete();
					}
			}
		})
	}

	/****************
	 * 勾选角色--为全局角色变量赋值
	 * @param row
	 * @returns
	 */
	function onCheckRole(row) {
		roleInfo = row;
	}
	